#coding=UTF-8

'''
2) 使用文件和目录操作，定义一个统计指定目录大小的函数（注意目录中还有子目录）。
'''

import os

def count_singleDir_size(dir):
    count = 0
    # 得到dir下面所有文件信息
    listfile = os.listdir(dir)
    for f in listfile:
        # 将目录和文件进行拼接
        file = os.path.join(dir, f)
        if os.path.isfile(file):
            count = count + os.path.getsize(file)
    return count
# print(count_singleDir_size('./test/new_file'))


#递归统计目录下所有文件的大小
list=[]
def count_dir_size(dir,*args):

    #得到dir下面所有文件信息
    listfile=os.listdir(dir)
    for f in listfile:
        #将目录和文件进行拼接
        file = os.path.join(dir,f)
        if os.path.isfile(file):
            #将文件加到list列表中
            list.append(os.path.getsize(file))
        if os.path.isdir(file):
            new_file1=file.replace('\\','/')
            #如果是目录，在递归调用自身方法
            count_dir_size(new_file1)
    sum =0
    for i in list:
        sum = sum +i
    return sum


print(count_dir_size('./test'))